package com.data.center.service;

import com.data.center.entity.AdminDivision;

import java.util.Date;
import java.util.List;

public interface AdminDivisionService {
    void createAdminDivision(AdminDivision adminDivision);
    void updateAdminDivision(AdminDivision adminDivision);
    void deleteAdminDivision(String id);
    AdminDivision getAdminDivisionById(String id);

    //根据行政区域编码获取区域名称
    String getRegionNameByCode(String code);

    List<AdminDivision> searchByName(String name);

    AdminDivision getByName(String name);

    AdminDivision getByCode(String code);

    List<AdminDivision> listAllByStatus(int status);

    /*
     * 添加一个全新的行政区域编码，若库里已有该编码则进行核对比较
     * */
    AdminDivision addNewOrUpdate(String divisionCode, String name);

    /*
     * 添加一个全新的行政区域编码，若库里已有该编码则进行核对比较
     * divisionCode: 八位行政区域编码
//     * */
//    AdminDivision addNewOrUpdateWithEight(String divisionCode, String name);

    /*
     * 添加一个全新的行政区域编码，若库里已有该编码则进行核对比较
     * divisionCode: 八位行政区域编码
     * */
    AdminDivision addNewOrUpdateWithEight(String divisionCode, String name, Date updateDate);

    /*
    * 添加一个全新的行政区域编码
    * */
    AdminDivision addNew(String divisionCode, String name);

    AdminDivision add(AdminDivision data);

    /*
     * @param: code 八位区域编码 expiredDate 失效时间
     * 将失效时间设置为当前时间
     * */
    AdminDivision expireNow(String code);

    /*
    * @param: code 八位区域编码 expiredDate 失效时间
    * */
    AdminDivision expire(String code, Date expiredDate);
}
